package com.liuweiheng.cloudproviderpayment8002.common.service;

import com.liuweiheng.cloudproviderpayment8002.entity.Permission;
import com.liuweiheng.cloudproviderpayment8002.entity.Role;
import com.liuweiheng.cloudproviderpayment8002.entity.User;

import java.util.List;

/**
 * 服务接口：用户服务
 *
 * @author lwh
 */
public interface UserService {

    /**
     * 根据用户名查询用户信息
     * @param username 用户名
     * @return 用户实体
     */
    User selectUserByUsername(String username);

    /**
     * 创建用户
     * @param user 用户信息
     * @return 创建成功后用户id
     */
    Integer createUser(User user);


    /**
     * 根据用户名查询所有角色
     * @param username 用户名
     * @return 角色集合
     */
    List<Role> selectRoleByUsername(String username);

    /**
     * 根据角色id集合查询所有权限
     * @param roleIds 角色id集合
     * @return 权限集合
     */
    List<Permission> selectPermByRoleIds(List<Integer> roleIds);

}
